package com.js.statemachine.service.uml;


import org.springframework.messaging.Message;

/**
 * @author js
 */
public interface MeterStateMachineBizInter {

    /**
     * 安装业务
     *
     * @param message
     * @return
     */
    void install(Message<String> message);

    /**
     * 拆表业务
     *
     * @param message
     * @return
     */
    void splitMeter(Message<String> message);

    /**
     * 检定业务
     *
     * @param message
     * @return
     */
    boolean docimasy(Message<String> message);

    /**
     * 检定完成时的业务
     *
     * @param message
     * @return
     */
    boolean checkCompleted(Message<String> message);

    /**
     * 废弃业务
     *
     * @param message
     * @return
     */
    boolean abandon(Message<String> message);

    /**
     * 维护业务
     *
     * @param message
     * @return
     */
    boolean maintain(Message<String> message);

    /**
     * 维护完成时的业务
     *
     * @param message
     * @return
     */
    boolean maintainCompleted(Message<String> message);

    /**
     * 检定到已安装所作的业务
     *
     * @param message
     * @return
     */
    boolean reinstallation(Message<String> message);
}
